\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4}{
\section{nih\-:\-:\-Vector$<$ \-T, 4 $>$ \-Struct \-Template \-Reference}
\label{structnih_1_1_vector_3_01_t_00_014_01_4}\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}}
}


{\ttfamily \#include $<$vector.\-h$>$}

\subsection*{\-Public \-Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_aac8b261630e160164bae5f165a99db86}{
typedef \-T {\bfseries value\-\_\-type}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_aac8b261630e160164bae5f165a99db86}

\item 
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a4b24118722abe4a57bcabe8d2df475fd}{
typedef \-T {\bfseries \-Field\-\_\-type}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a4b24118722abe4a57bcabe8d2df475fd}

\end{DoxyCompactItemize}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_a82429e0bb31f121a4787a4831211ff3e}{\-Vector} ()
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_aeadd1de1e7d8f6c6f0b9eae4df2139ac}{\-Vector} (const \-T v)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_aa1df296862a41b5ede04d4cfaa928ed5}{\-Vector} (const \-T $\ast$v)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_a274c16835493414f7ab7d435ebac1cb1}{\-Vector} (const \-T v0, const \-T v1, const \-T v2, const \-T v3)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_a7dabe8e209dda0aa14af8d5e824512f2}{\-Vector} (const \hyperlink{structnih_1_1_vector}{\-Vector}$<$ \-T, 3 $>$ \&v, const \-T v3)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \*
\-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \hyperlink{structnih_1_1_vector}{\-Vector} \& \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_a6a9e8b8320ccad22784092b356ee71be}{operator=} (const \hyperlink{structnih_1_1_vector}{\-Vector} \&v)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \*
\-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E const \-T \& \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_a45925acf4614936d4ed2cf9b84d584dd}{operator\mbox{[}$\,$\mbox{]}} (const size\-\_\-t i) const 
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \*
\-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \-T \& \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_a79ccc160edf52ff5892a9f7f7c6e54d3}{operator\mbox{[}$\,$\mbox{]}} (const size\-\_\-t i)
\item 
\-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E size\-\_\-t \hyperlink{structnih_1_1_vector_3_01_t_00_014_01_4_a22ae136785aff83dfc54b743ceeeacba}{dimension} () const 
\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a6936a0ae1930dfc97055b8f7f8ec8879}{
\-T {\bfseries x} \mbox{[}4\mbox{]}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a6936a0ae1930dfc97055b8f7f8ec8879}

\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a8bba71e89120a8b7ba4cd34610d9b3e0}{
static const size\-\_\-t {\bfseries k\-Dimension} = 4u}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a8bba71e89120a8b7ba4cd34610d9b3e0}

\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
\subsubsection*{template$<$typename T$>$struct nih\-::\-Vector$<$ T, 4 $>$}

\-Abstract linear algebra vector class, templated over type and specialized to dimension 4 

\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a82429e0bb31f121a4787a4831211ff3e}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a82429e0bb31f121a4787a4831211ff3e}
empty constructor \hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_aeadd1de1e7d8f6c6f0b9eae4df2139ac}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
\item[{const \-T}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, explicit\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_aeadd1de1e7d8f6c6f0b9eae4df2139ac}
copy constructor


\begin{DoxyParams}{\-Parameters}
{\em v} & input vector \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_aa1df296862a41b5ede04d4cfaa928ed5}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
\item[{const \-T $\ast$}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, explicit\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_aa1df296862a41b5ede04d4cfaa928ed5}
copy constructor


\begin{DoxyParams}{\-Parameters}
{\em v} & input array \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a274c16835493414f7ab7d435ebac1cb1}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
\item[{const \-T}]{v0, }
\item[{const \-T}]{v1, }
\item[{const \-T}]{v2, }
\item[{const \-T}]{v3}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a274c16835493414f7ab7d435ebac1cb1}
component-\/wise constructor


\begin{DoxyParams}{\-Parameters}
{\em v0} & component 0 \\
\hline
{\em v1} & component 1 \\
\hline
{\em v2} & component 2 \\
\hline
{\em v3} & component 3 \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a7dabe8e209dda0aa14af8d5e824512f2}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!\-Vector@{\-Vector}}
\index{\-Vector@{\-Vector}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::{\bf \-Vector} (
\begin{DoxyParamCaption}
\item[{const {\bf \-Vector}$<$ \-T, 3 $>$ \&}]{v, }
\item[{const \-T}]{v3}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a7dabe8e209dda0aa14af8d5e824512f2}
constructor


\begin{DoxyParams}{\-Parameters}
{\em v} & input 3d vector \\
\hline
{\em v3} & fourth component \\
\hline
\end{DoxyParams}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a22ae136785aff83dfc54b743ceeeacba}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!dimension@{dimension}}
\index{dimension@{dimension}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E size\-\_\-t {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::dimension (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a22ae136785aff83dfc54b743ceeeacba}
vector dimension \hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a6a9e8b8320ccad22784092b356ee71be}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!operator=@{operator=}}
\index{operator=@{operator=}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E {\bf \-Vector}\& {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-Vector}$<$ \-T, 4 $>$ \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a6a9e8b8320ccad22784092b356ee71be}
assignment operator


\begin{DoxyParams}{\-Parameters}
{\em v} & input vector \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a45925acf4614936d4ed2cf9b84d584dd}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E const \-T\& {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::operator\mbox{[}$\,$\mbox{]} (
\begin{DoxyParamCaption}
\item[{const size\-\_\-t}]{i}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a45925acf4614936d4ed2cf9b84d584dd}
const indexing operator


\begin{DoxyParams}{\-Parameters}
{\em i} & component index \\
\hline
\end{DoxyParams}
\hypertarget{structnih_1_1_vector_3_01_t_00_014_01_4_a79ccc160edf52ff5892a9f7f7c6e54d3}{
\index{nih\-::\-Vector$<$ T, 4 $>$@{nih\-::\-Vector$<$ T, 4 $>$}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!nih::Vector< T, 4 >@{nih\-::\-Vector$<$ T, 4 $>$}}
\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ \-N\-I\-H\-\_\-\-H\-O\-S\-T \-N\-I\-H\-\_\-\-D\-E\-V\-I\-C\-E \-F\-O\-R\-C\-E\-\_\-\-I\-N\-L\-I\-N\-E \-T\& {\bf nih\-::\-Vector}$<$ \-T, 4 $>$\-::operator\mbox{[}$\,$\mbox{]} (
\begin{DoxyParamCaption}
\item[{const size\-\_\-t}]{i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{structnih_1_1_vector_3_01_t_00_014_01_4_a79ccc160edf52ff5892a9f7f7c6e54d3}
indexing operator


\begin{DoxyParams}{\-Parameters}
{\em i} & component index \\
\hline
\end{DoxyParams}


\-The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
linalg/\hyperlink{vector_8h}{vector.\-h}\end{DoxyCompactItemize}
